package com.danceforyou.common.util;

import org.apache.log4j.Logger;

/**
 * 说明：日志处理
 * 创建人：yongrong
 * 修改时间：2014年9月20日
 */
public class LoggerUtil {

    private Logger logger;

    /**
     * 构造方法，初始化Log4j的日志对象
     */
    private LoggerUtil(Logger log4jLogger) {
        logger = log4jLogger;
    }

    /**
     * 获取构造器，根据类初始化Logger对象
     *
     * @param classObject Class对象
     * @return Logger对象
     */
    public static LoggerUtil getLogger(Class classObject) {
        return new LoggerUtil(Logger.getLogger(classObject));
    }

    /**
     * 获取构造器，根据类名初始化Logger对象
     *
     * @param loggerName 类名字符串
     * @return Logger对象
     */
    public static LoggerUtil getLogger(String loggerName) {
        return new LoggerUtil(Logger.getLogger(loggerName));
    }

    public void debug(Object object) {
        logger.debug(object);
    }

    public void debug(Object object, Throwable e) {
        logger.debug(object, e);
    }

    public void info(Object object) {
        logger.info(object);
    }

    public void info(Object object, Throwable e) {
        logger.info(object, e);
    }

    public void warn(Object object) {
        logger.warn(object);
    }

    public void warn(Object object, Throwable e) {
        logger.warn(object, e);
    }

    public void error(Object object) {
        logger.error(object);
    }

    public void error(Object object, Throwable e) {
        logger.error(object, e);
    }

    public void fatal(Object object) {
        logger.fatal(object);
    }

    public String getName() {
        return logger.getName();
    }

    public Logger getLog4jLogger() {
        return logger;
    }

    public boolean equals(LoggerUtil newLoggerUtil) {
        return logger.equals(newLoggerUtil.getLog4jLogger());
    }
}